package cn.tedu.inter2;
/*本类用于进一步测试接口的使用*/
public class TestUserInter {
    public static void main(String[] args) {
        //5,创建接口实现类的对象
        UserInterImpl u=new UserInterImpl();
        //7,测试接口中的静态常量
        System.out.println(UserInter.age);//静态,因为可以被接口直接调用
   //UserInter.age=30;//final,因为值不可以被修改
    }

}
//1,创建接口
interface UserInter {
    //2,测试接口中是否包含构造方法
    /*接口中是否包含构造方法--没有*/
    //public UserInter(){}

    //6,测试接口中是否可以定义成员变量
    /*接口中的是静态常量,实际上的写法是public static final int age=20;
    * 只不过接口中可以省略不写,会默认拼接,所以写成int age=100;也可以*/
    int age=20;
    /*接口中抽象方法的定义可以简写,会自动给方法拼接public abstract*/
    public abstract void eat();
    void play();
}
    //3,创建接口实现类
    class UserInterImpl implements UserInter{
        //4,手动提供本类的无参构造
        public UserInterImpl(){
            /*如果一个类没有明确指定它的父类,那么它默认继承顶级父类Object*/
            super();/*此处调用的父类的无参构造是Object的无参构造*/
            System.out.println("我是子实现类的无参构造~");
        }

        @Override
        public void eat() {
            System.out.println("实现接口中的抽象方法1");
        }

        @Override
        public void play() {
            System.out.println("实现接口中的抽象方法2");
        }
    }
